package com.zykj.adapter;

/**
 * @author zhoulj(周利军) [1217102780@qq.com]
 * @Module ID:   <(模块)类编号，可以引用系统设计中的类编号>
 * @Comments: <对此类的描述，可以引用系统设计中的描述>
 * @JDK version used:      <JDK1.8> 37
 * @since 2019/1/2-16:37
 */
public class ChickenDuckAdapter implements Duck {
    //TODO 适配器模式：将一个类的接口，转换成客户端需要的另一个接口，让原本不兼容的类可以兼容
    //  适配器模式有 两种 类适配器（多继承方式JAVA无法）对象适配器
    //  让客户端从实现的接口解耦
    //  多用组合，  把客户和接口绑定起来 而不是接口的实现绑定起来
    //  因为使用组合，所以可以适配某个类， 也可以适配该类的子类
    //  装饰者：不改变被适配的接口，但加入责任
    Chicken chicken;
    public ChickenDuckAdapter(Chicken chicken) {
        this.chicken = chicken;
    }

    @Override
    public void quack() {
        chicken.gege();
    }

    @Override
    public void fly() {
        chicken.run();

    }
}
